Reference tokens for managing driverless cars

ABSTRACT

Negotiating a multi-vehicle environment using vehicle-to-vehicle network tokens for intra-vehicle communication. Preliminary routing assignments are efficiently improved by available intra-vehicle communication.

BACKGROUND OF THE INVENTION

The present invention relates generally to the field of trafficmanagement, and more particularly to managing a driverless vehicle usingreference tokens for a vehicle-to-vehicle network.

As a vehicle reaches a toll plaza, according to the state of the art, auser driving the vehicle must visually review the various toll gates toguess which toll gate best suits the user's needs, whether the user ispaying electronically or by cash or whether the user wishes to find ashortest line or locate an otherwise more convenient line, such as oneon a preferred side of the road.

A driverless car (vehicle), also known as an autonomous car,self-driving car, and robotic car, is an automated or autonomous vehiclecapable of fulfilling the main transportation capabilities of atraditional car. As an autonomous vehicle, it is capable of sensing itsenvironment and navigating without human input. Driverless vehiclessense their surroundings with techniques including radar, lidar, GPS(global positioning system), and computer vision. Advanced controlsystems interpret sensory information to identify appropriate navigationpaths, as well as obstacles and relevant signage.

SUMMARY

According to an aspect of the present invention, there is a method,computer program product and/or system for managing traffic in amulti-vehicle environment using a vehicle-to-vehicle network thatperforms the following steps (not necessarily in the following order):(i) identifying a first vehicle entering the multi-vehicle environment,(ii) determining a first dataset corresponding to the first vehicle, and(iii) assigning a first token to the first vehicle based, at least inpart, on the first dataset. The first token grants access to a firstassigned destination for the first vehicle.

According to an aspect of the present invention, there is a method,computer program product and/or system for using a token as reference incommunications for driverless vehicles in a toll gate system thatperforms the following steps (not necessarily in the following order):(i) identifying an first entering vehicle and a second entering vehicle,(ii) determining a first vehicle dataset corresponding to the firstentering vehicle, (iii) determining a second vehicle datasetcorresponding to the second entering vehicle, (iv) assigning a firsttoll gate token to the first entering vehicle, (v) assigning a secondtoll gate token to the second entering vehicle, (vi) notifying the firstand second entering vehicles of the first and second toll gate tokens.The first and second vehicle datasets include driver information,vehicle information, and historic use information. The first and secondtoll gate tokens are unique identifiers that respectively correspond toassigned toll gates and times of entry of the first and second enteringvehicles. The first toll gate token provides the first vehicle withaccess to a vehicle-to-vehicle network established by the toll gatesystem. The first vehicle communicating over the vehicle-to-vehiclenetwork with the second vehicle. At least the determining and assigningsteps are performed by computer software running on computer hardware.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram view of a first embodiment of a systemaccording to the present invention;

FIG. 2 is a flowchart showing a first embodiment method performed, atleast in part, by the first embodiment system;

FIG. 3 is a block diagram view of a machine logic (for example,software) portion of the first embodiment system;

FIG. 4 is a diagram view showing information that is generated by and/orhelpful in understanding embodiments of the present invention; and

FIG. 5 is a graph view showing information that is generated by and/orhelpful in understanding embodiments of the present invention.

DETAILED DESCRIPTION

Negotiating a multi-vehicle environment using vehicle-to-vehicle networktokens for intra-vehicle communication. Preliminary routing assignmentsare efficiently improved by available intra-vehicle communication. ThisDetailed Description section is divided into the following sub-sections:(i) The Hardware and Software Environment; (ii) Example Embodiment;(iii) Further Comments and/or Embodiments; and (iv) Definitions.

I. The Hardware and Software Environment

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

An embodiment of a possible hardware and software environment forsoftware and/or methods according to the present invention will now bedescribed in detail with reference to the Figures. FIG. 1 is afunctional block diagram illustrating various portions of networkedcomputers system 100, including: vehicle queue sub-system 102; vehiclesub-systems 104, 106, 108, 110, 112; communication network 114; vehiclequeue computer 200; communication unit 202; processor set 204;input/output (I/O) interface set 206; memory device 208; persistentstorage device 210; display device 212; external device set 214; randomaccess memory (RAM) devices 230; cache memory device 232; and vehiclequeue program 300.

Sub-system 102 is, in many respects, representative of the variouscomputer sub-system(s) in the present invention. Accordingly, severalportions of sub-system 102 will now be discussed in the followingparagraphs.

Sub-system 102 may be a laptop computer, tablet computer, netbookcomputer, personal computer (PC), a desktop computer, a personal digitalassistant (PDA), a smart phone, or any programmable electronic devicecapable of communicating with the client sub-systems via network 114.Program 300 is a collection of machine readable instructions and/or datathat is used to create, manage and control certain software functionsthat will be discussed in detail, below, in the Example Embodimentsub-section of this Detailed Description section.

Sub-system 102 is capable of communicating with other computersub-systems via network 114. Network 114 can be, for example, a localarea network (LAN), a wide area network (WAN) such as the Internet, or acombination of the two, and can include wired, wireless, or fiber opticconnections. In general, network 114 can be any combination ofconnections and protocols that will support communications betweenserver and client sub-systems.

Sub-system 102 is shown as a block diagram with many double arrows.These double arrows (no separate reference numerals) represent acommunications fabric, which provides communications between variouscomponents of sub-system 102. This communications fabric can beimplemented with any architecture designed for passing data and/orcontrol information between processors (such as microprocessors,communications and network processors, etc.), system memory, peripheraldevices, and any other hardware components within a system. For example,the communications fabric can be implemented, at least in part, with oneor more buses.

Memory 208 and persistent storage 210 are computer-readable storagemedia. In general, memory 208 can include any suitable volatile ornon-volatile computer-readable storage media. It is further noted that,now and/or in the near future: (i) external device(s) 214 may be able tosupply, some or all, memory for sub-system 102; and/or (ii) devicesexternal to sub-system 102 may be able to provide memory for sub-system102.

Program 300 is stored in persistent storage 210 for access and/orexecution by one or more of the respective computer processors 204,usually through one or more memories of memory 208. Persistent storage210: (i) is at least more persistent than a signal in transit; (ii)stores the program (including its soft logic and/or data), on a tangiblemedium (such as magnetic or optical domains); and (iii) is substantiallyless persistent than permanent storage. Alternatively, data storage maybe more persistent and/or permanent than the type of storage provided bypersistent storage 210.

Program 300 may include both machine readable and performableinstructions and/or substantive data (that is, the type of data storedin a database). In this particular embodiment, persistent storage 210includes a magnetic hard disk drive. To name some possible variations,persistent storage 210 may include a solid state hard drive, asemiconductor storage device, read-only memory (ROM), erasableprogrammable read-only memory (EPROM), flash memory, or any othercomputer-readable storage media that is capable of storing programinstructions or digital information.

The media used by persistent storage 210 may also be removable. Forexample, a removable hard drive may be used for persistent storage 210.Other examples include optical and magnetic disks, thumb drives, andsmart cards that are inserted into a drive for transfer onto anothercomputer-readable storage medium that is also part of persistent storage210.

Communications unit 202, in these examples, provides for communicationswith other data processing systems or devices external to sub-system102. In these examples, communications unit 202 includes one or morenetwork interface cards. Communications unit 202 may providecommunications through the use of either or both physical and wirelesscommunications links. Any software modules discussed herein may bedownloaded to a persistent storage device (such as persistent storagedevice 210) through a communications unit (such as communications unit202).

I/O interface set 206 allows for input and output of data with otherdevices that may be connected locally in data communication withcomputer 200. For example, I/O interface set 206 provides a connectionto external device set 214. External device set 214 will typicallyinclude devices such as a keyboard, keypad, a touch screen, and/or someother suitable input device. External device set 214 can also includeportable computer-readable storage media such as, for example, thumbdrives, portable optical or magnetic disks, and memory cards. Softwareand data used to practice embodiments of the present invention, forexample, program 300, can be stored on such portable computer-readablestorage media. In these embodiments the relevant software may (or maynot) be loaded, in whole or in part, onto persistent storage device 210via I/O interface set 206. I/O interface set 206 also connects in datacommunication with display device 212.

Display device 212 provides a mechanism to display data to a user andmay be, for example, a computer monitor or a smart phone display screen.

The programs described herein are identified based upon the applicationfor which they are implemented in a specific embodiment of theinvention. However, it should be appreciated that any particular programnomenclature herein is used merely for convenience, and thus theinvention should not be limited to use solely in any specificapplication identified and/or implied by such nomenclature.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the invention.The terminology used herein was chosen to best explain the principles ofthe embodiment, the practical application or technical improvement overtechnologies found in the marketplace, or to enable others of ordinaryskill in the art to understand the embodiments disclosed herein.

II. Example Embodiment

FIG. 2 shows flowchart 250 depicting a method according to the presentinvention. FIG. 3 shows program 300 for performing at least some of themethod steps of flowchart 250. This method and associated software willnow be discussed, over the course of the following paragraphs, withextensive reference to FIG. 2 (for the method step blocks) and FIG. 3(for the software blocks). The example referred to throughout theparagraphs that follow is where two vehicles, a passenger van and adelivery truck, enter a parking lot of a shopping mall. These vehiclesare each operated according to a driverless vehicle system.

Processing begins at step S255, where network module (“mod”) 355establishes an intra-vehicle network, such as network 114 (FIG. 1),within a multi-vehicle environment. In this example, the multi-vehicleenvironment is parking lot. In the section III, below, the multi-vehicleenvironment is a toll plaza on a toll road. Alternatively, themulti-vehicle environment is a stretch of road in which driving lanesare managed. The intra-vehicle network is established according to waysnow known, or to be known in the future. One characteristic of thisintra-vehicle network is that tokens are provided to networkparticipants in order to establish communication among vehicles.

Processing proceeds to step S260, where vehicle dataset mod 360determines a first and a second vehicle dataset corresponding to a firstand second entering vehicle respectively. As a vehicle enters themulti-vehicle environment, the vehicle dataset module identifies apre-determined set of information. The specific information to beidentified or determined is based on the particular environment in whichthe vehicle is entering, whether in a parking lot or merging onto aroadway. In this example, each vehicle dataset contains information, tothe extent available, including: (i) vehicle size (to determine, forexample, parking space requirements); (ii) number of passengers(including the driver, if any); (iii) previously used parking space(s);(iv) type of cargo; (v) special needs and/or preferences of one or morepassengers (based on, for example, a handicap posting or historicspecial needs or preferences); and (vi) type of vehicle (for example,emergency response vehicle, ambulance, and/or fire brigade).Alternatively, and as described in more detail below, each vehicledataset includes: (i) driver information; (ii) vehicle information; andhistoric use information.

According to some embodiments of the present invention, driverinformation includes information specific to the driver and/orpassengers of the vehicle. This information relates to the needs and/orpreferences of the driver, whether explicitly stated or inferred bycontext and/or historic use.

According to some embodiments of the present invention, vehicleinformation includes information about the vehicle and its cargo, ifany. Information such as cargo weight may be determined by scalesstrategically located about the parking lot zone. In some embodiments,registered delivery vehicles receive tailored assistance in for parkingsuch that cargo is unloaded quickly or efficiently. Vehicle informationmay also include: (i) vehicle make and model; (ii) license plateinformation; (iii) vehicle dimensions (size, shape, number of wheels);and/or (iv) trailer information, if any.

According to some embodiments of the present invention, historic useinformation includes information collected during previous encounterswith the same vehicle. A same vehicle is determined in various waysincluding: (i) pre-existing token data; (ii) license plate information;(iii) vehicle identification number (VIN); (iv) passenger and/or driverrecognition; and/or (v) pre-registration information.

Processing proceeds to step S265, where network token mod 365 assigns afirst and second network token to the first and second entering vehiclerespectively. Each network token is a unique vehicle-specific identifierthat includes destination information, such as parking space identifier,loading dock identifier, and toll gate number. In this example, thepassenger van enters the parking lot first and obtains, or otherwisereceives, a network token directing it to a convenient parking spacenear the entrance to a popular store that the passenger van indicated apreference for during a pre-registration process. The delivery truckarrives next, but the loading dock for the same popular store isoccupied by an earlier arriving truck. Accordingly, the delivery truckreceives a network token directing it to a parking space toward the backof the parking lot near a large opening of unoccupied parking spaces,where it can wait for the loading dock to clear.

Processing proceeds to step S270, where notify mod 370 notifies thefirst and second entering vehicle of the second and first network tokensrespectively to provide for intra-vehicle communication over thenetwork. Intra-vehicle communication allows for each vehicle to work outexchanges of assigned locations, such as toll gates, or to otherwisework out waiting line positions, etc. In this example, the passenger vanrequires additional space along its side to allow the passengers tocomfortably exit. Accordingly, the passenger van communicates with otherparking vehicles, including the delivery truck. The delivery truck isable to use the nearby parking space of the passenger van, so it tradesthe assigned outer parking space for the convenient space assigned tothe passenger van. By communicating between vehicles after receipt ofthe initial network token a potential parking dilemma is resolved byeffectively reassigning a token received by one vehicle to anothervehicle. The reassignment is performed, in one embodiment, by thevehicles trading tokens. Alternatively, the server computer reassignstokens based on agreed upon actions between two vehicles. Alternatively,a priority vehicle, such as an ambulance, receives a priority token sothat non-priority vehicles are required to exchange their token with thepriority vehicle on-demand.

Processing ends at step S275, where monitor mod 375 monitorscommunications and locations of the first and second entering vehicles.In some embodiments, the monitor mod records the final location of thevehicle where the multi-vehicle environment is a parking lot. Bymonitoring communications, the monitor mod is able to develop historicalrecords of each vehicle for potential future use by vehicle datasetmodule 360. In some embodiments of the present invention, the monitormod provides information to network token mod 365 for machine learningpurposes. In this example, the monitor mod records the final parkingspace occupied by passenger van and the final unloading location of thedelivery truck. Additionally, the monitor mod provides alternativeparking space data for the delivery van to vehicle dataset module 360.In that way, a token for the convenient parking space may be provided tothe delivery truck when the loading dock is occupied, or even when apre-registered delivery vehicle is soon to arrive.

III. Further Comments and/or Embodiments

At a toll plaza, an incoming vehicle communicates with the toll gate viatrans-receivers seeking the best-suited toll gate recommendation. Thetoll gate system, according to various factors related to the incomingvehicle, the historical data about the toll payment, and the vehicleclearance rate at a given toll gate communicates with the incomingvehicle to recommend the best-suited toll gate. During this time, thedriver of the vehicle needs not perform any explicit action because thecommunication occurs automatically over a vehicle-to-vehicle network.The incoming vehicle, once assigned a lane and a corresponding token canfurther communicate with other connected vehicles to negotiate a changein the assigned toll gate with other vehicles. The algorithm describedherein allows the vehicle to perform a token exchange in order to moveto a different, preferred, toll gate.

Some embodiments of the present invention recognize the following facts,potential problems and/or potential areas for improvement with respectto the current state of the art: (i) there are limited number ofmechanisms available for identifying which toll gate is best suited foran incoming vehicle; and (ii) it is likely that a visually preferredlane, such as one that appears to be the shortest lane, is not thefastest moving lane due to various factors.

FIG. 4 illustrates toll system 400 operating according to an embodimentof the present invention. Toll system 400 includes: entering vehicles402, 404; vehicle negotiation ranges 406, 408; entry point 410; entrypoint transceivers 412 a, 412 b, 412 c; toll gates 414 a, 414 b, 414 c,414 d, 414 e; queued vehicles 416; toll point transceivers 418 a, 418 b,418 c; cameras 419 a, 419 b, 419 c, 419 d, 419 e; toll point 420; andtoll computer 430.

Parameters to be accounted for in assigning a toll gate include: (i)toll point clearance speed, by toll operator (e.g. how fast has thisoperator been historically, how much cash does the toll operator have inhand, and/or jammed vehicles in the corresponding toll lane); (ii)number of vehicles in the lane (e.g. how many cars (or drivers) atpresent in lane request cash transactions and how many request creditcard transactions); (iii) length of the vehicles (backed up cars); (iv)approach lane of entering vehicle, such as vehicles 402 and 404; (v)historical mode of payment of the entering car; (vi) lane adjustmentneeded; and/or (vii) type to lane mapping (e.g. reserved lanes for RFIDservice, heavy trucks, reserved vehicles).

An example interaction model follows. At the entry point TR 412 b, forexample, transmits signals to incoming vehicles 402 and 404. Forexample, incoming vehicle 402 receives the signal and communicates backto TR 412 b to register a license number (and/or unique ID) to the TR atentry point. The TR gets the license plate number and/or otherinformation for delivery to central Toll server 430 for providingidentification. Along with this, the status server of vehicle 402 iscontacted to get vehicle conditions to predict potential jamming of thevehicle in the toll lane. Along with this, the nearest entry toll laneof the vehicle is determined by the toll server based on the lane fromwhich the vehicle enters. The toll server registers incoming vehicle 402with a UUID (universally unique identifier). The toll server allocates a−T to +T to the toll gates that may be best suited for the vehicle'seventual toll gate. This action is taken to avoid additional movement ofthe vehicle while reaching a toll lane. The lane number X and tokennumber Y are assigned to the vehicle in the −T to +T range (discussed inmore detail below). Toll point TR sends a beamer on messaging protocol(like MQTT) to vehicle 402, which is assigned lane X and token number Y.The on-board navigation system of vehicle 402 directs the vehicle toenter toll lane X with token Y. Subsequently, vehicle 402 may negotiatea lane adjustment with vehicle 404, or other vehicles located withinvehicle negotiation range 408 of toll system 400. Accordingly, vehicle402 and vehicle 404 exchange the lane assignment and corresponding tokento adjust their respective assignments. Additionally, one or more ofthese vehicles may inform toll system 400 of the token exchange. Thenegotiation range is a predefined communication range to limitcommunication to vehicles that are sufficiently proximate tocommunicating vehicle. The determination of what distance issufficiently proximate depends largely on the environment and isdetermined by a system architect, system administrator, or otherauthorized person.

An example process for assigning a toll gate number and token considers:(i) toll booth clearance speed includes (how fast has this operator beenhistorically) (how much cash the operator has in hand); (ii) jammed carsin lane (using information from central server); (iii) number ofvehicles in the lane (how many cars (or drivers) at present in lane docash transactions vs credit card based on a driver profile from thecentral server); (iv) the length of the vehicles (backed up cars)(although lanes are filled up with long vehicle, but there is morechances of reaching booth faster).

Historical data captured from a central queue server includes: (i)previous lane(s) of the incoming vehicle; (ii) historical mode ofpayment of the incoming vehicle; and/or (iii) the type to lane mapping(reserved lanes) (RFID, heavy trucks, reserved vehicles).

Some embodiments of the present invention define a minimum set of lanesin which a vehicle can enter according to the lane of the vehicle at theentry point. For example, a car entering from lane 4 and allocated lane15 will require a lot of movement. So, to avoid this, the car enteringfrom lane 4 is allocated one of lanes 2, 3, 4, 5, 6, which is −T to +T,where T is 2.

Some embodiments of the present invention include a toll plaza centralsystem that tracks the mode of payment for entering vehicles. Such asystem may store the license plate number, potential driver information,and the corresponding entry of last interactions at associated tollgates. Based on the recent history, some embodiments of the presentinvention determine the likely type of payment to be made, such ascredit card or currency. This helps in allocating fast moving lanes.Some embodiments of the present invention apply machine learning toadjust assumptions based on the ongoing driver/vehicle profilingactivities.

Some embodiments of the present invention are directed to toll lanesthat allow assigned, or pre-registered, vehicles to use reserved lanes.When the vehicle type is identified using, for example, license platerecognition, an assigned vehicle is confirmed to move to reserved lanes.A similar algorithm applies for routing the pre-registered vehicle tothe reserved lane(s). If the reserved lane is lane 1, then allpre-registered vehicles are suggested, via a token, to move to lane 1.Each driver or autonomous vehicle, may opt out of the reserved laneassignment in order to negotiate with any other vehicles for analternative lane change or toll gate assignment.

TABLE 1 Calculating the time to be taken on toll gate (C = Cash; CC =Credit Card) PARAMETER GATE 1 GATE 2 GATE 3 OPERATOR SPEED 5 7 6 CASH INHAND 200 350 30 (TOLL OPERATOR) TOLL FEE 50 50 50 JAMMED VEHICLES 0 0 1VEHICLE COUNT 2 5 3 PAYMENT MODE BY C, C C, C, C, C, C CC, CC, CCVEHICLE

A cost number for each vehicle is determined based on the factors listedin Table 1, above. In one example, the vehicles associated with cashpayments are assigned a lane having high operator speed so long as theoperator has enough cash in hand and the vehicles associated with creditcard payment are routed through another lane, for example where theoperator has less cash in hand. As shown in Table 1, the operator ofGate 3 has less cash in hand than the other operators. In fact, if avehicle off 100 units of cash to the operator of Gate 3, she would notbe able to provide the necessary 50 units of cash in return. Ideally,the slower lane vehicles will be fewer than the faster lane vehicles.The per gate output is a number, CGx.

Some embodiments of the present invention are aware of which toll gateis in line with each incoming vehicle from the point where vehicle isentering at the entry point. This supports recognition of the overalldistance for which the car would have to travel if a different toll gateis assigned. The target distance for each vehicle to travel is thelowest distance from the entry point to a toll gate. Essentially, thisconsiders the probability of quick movement of a car from the toll entryto the toll exit.

Calculating the time to be taken at the toll gate takes into account oneor more of the following: (i) the speed at which the operator typicallyworks (for example, the number of cars served every 10 minutes); (ii)how much cash the operator has on the counter, or “in hand,” for cashtransactions; (iii) lane-specific information, such as road conditionand width; and/or (iv) how much time it takes for the vehicle to exitthe toll gate lane where the car allocated to a different toll gate.

Historical data available in the vehicle and/or driver profile include:(i) one of three vehicle categories—good, fair, and poor (vehiclecategory is based on engine condition and service history); (ii)historical mode of payment (no payment or pre-payment, credit card, andcurrency); (iii) define a preference for payment and condition ofvehicle (e.g. good condition—no payment; bad condition—no payment; goodcondition—payment via credit card; fair condition—no payment; poorcondition—payment via credit card; good condition—payment via cash; faircondition—payment via credit card; poor condition—payment via cash;and/or fair condition payment via cash). For example, if the vehicle isin good condition and prepayment is made, the vehicle will move fasterthrough the toll lanes than a car in bad condition and making thepayment with cash. Alternatively, payment method is the only criteria.Alternatively, vehicle condition is the only criteria.

FIG. 5 is chart 500 depicting exemplary costs for vehicles entering thelane for Toll Gate 4 based on distance to the various gates and durationof stop at the gate. Chart 500 includes: first estimated cost 502;second estimated cost 504; third estimated cost 506; fourth estimatedcost 508; and normalized factors line 510. The normalized factors lineincludes points associated with various condition-payment pairs, wherethe terms G, F, and P represent vehicle conditions good, fair, and poorrespectively. Also the terms N, C, and CC represent payments types,none, cash, and credit card respectively. Alternatively, oradditionally, normalized factors include operator speed for determiningwhether or not a particular vehicle condition and payment method willjam a particular toll gate. The x-axis represents the estimated cost ata given gate, where the estimated cost at gate 3 is denoted as CG3, theestimated cost at gate 1 is denoted as CG1, and so forth. The y-axisrepresents the distance from origin to various toll gates, where gate 1is denoted as G1, gate 2 is denoted as G2, and so forth.

According to FIG. 5, when a vehicle enters the toll gate plaza, anembodiment of the present invention calculates a preferred toll gate forthe entering vehicle. In this example, toll gates+/−3 from the enteringgate (gate 4) are considered. Accordingly, the vehicle may be routed toany of toll gates 1 through 7 (G1 to G7), shown on the y-axis. Based oninformation, as shown by example in Table 1, the potential time taken ateach gate is determined. Shown as cost of gate (CG) along the x-axis.Estimated costs, shown as stars on the graph, identify the preferredgate. The star that is the shortest distance from the origin of thegraph in the preferred gate. In this example, estimated cost 502, isclosest to the origin and it indicates that one of gates 3 or 5(equidistant from gate 4) is a desirable gate. Here, the CG3 is muchbetter than CG5, which has the highest “cost,” or time taken at gate.Therefore, gate 3 is selected and a token for gate 3 is provided to theentering vehicle. As shown in this example, even though the vehicleentered from in front of Gate 4 towards the toll plaza, based on theparameters considered, the vehicle is allocated to Gate 3, balancing outthe distance the vehicle needs to travel, the toll operator speed at thegates, and the mode of payment from the vehicle.

Alternatively, the same graph is used by toll plaza management whileallocating gates/tokens to two or more vehicles that enter the toll gateat the same time. In that case, the vehicle condition is likelydifferent and will play a role in allocation along with gate distanceand operator speed.

Alternatively, while negotiating for tokens, a graph, such as the oneshown in FIG. 5, is used to understand (by a vehicle or by the tollplaza, if the vehicle seeks advice) on the additional cost, if any,arising from negotiating their assigned token with another vehicle. Thisalternative use serves the vehicle(s), in real time, by capturing thelocation of the vehicle (Y-axis) and the cost of toll (X-axis), assumingon-hand cash is available and the vehicle conditions remain constant.

Vehicles “talk” to each other over a vehicle-to-vehicle network toadjust toll gate lanes. For example, Car A is assigned the lane 1 token,138, however Car A entered from lane 4. Truck B is assigned the lane 3token, 357, and entered from lane 1. Truck B communicates a request totake lane 1 or 2 based on its proximity to the corresponding gates andstates that Truck B has the lane 3 token. Car A responds to Truck B thatit is able to negotiate the token exchange. Car A and Truck B exchangetoll lane tokens. Car A and Truck B transmit a change of tokenadjustment to the toll booth for tracking. Car A takes lane 3 (havinglane 3 token 357), and Truck B takes lane 1 (having lane 1 token 138).The toll booth records the lane information and proceeds with assigningtokens to entering vehicles based on the current state of traffic.

Some embodiments of the present invention may include one, or more, ofthe following features, characteristics and/or advantages: (i)identifies factors effecting vehicle and/or driver preference toassigned a preferred traffic route, such as best toll gate, best drivinglane, or best parking space.

IV. Definitions

Present invention: should not be taken as an absolute indication thatthe subject matter described by the term “present invention” is coveredby either the claims as they are filed, or by the claims that mayeventually issue after patent prosecution; while the term “presentinvention” is used to help the reader to get a general feel for whichdisclosures herein that are believed as maybe being new, thisunderstanding, as indicated by use of the term “present invention,” istentative and provisional and subject to change over the course ofpatent prosecution as relevant information is developed and as theclaims are potentially amended.

Embodiment: see definition of “present invention” above—similar cautionsapply to the term “embodiment.”

and/or: inclusive or; for example, A, B “and/or” C means that at leastone of A or B or C is true and applicable.

User/subscriber: includes, but is not necessarily limited to, thefollowing: (i) a single individual human; (ii) an artificialintelligence entity with sufficient intelligence to act as a user orsubscriber; and/or (iii) a group of related users or subscribers.

Module/Sub-Module: any set of hardware, firmware and/or software thatoperatively works to do some kind of function, without regard to whetherthe module is: (i) in a single local proximity; (ii) distributed over awide area; (iii) in a single proximity within a larger piece of softwarecode; (iv) located within a single piece of software code; (v) locatedin a single storage device, memory or medium; (vi) mechanicallyconnected; (vii) electrically connected; and/or (viii) connected in datacommunication.

Computer: any device with significant data processing and/or machinereadable instruction reading capabilities including, but not limited to:desktop computers, mainframe computers, laptop computers,field-programmable gate array (FPGA) based devices, smart phones,personal digital assistants (PDAs), body-mounted or inserted computers,embedded device style computers, application-specific integrated circuit(ASIC) based devices.

Multi-vehicle environment: any physical location where a vehicle maycompete with another vehicle for a same preferred route. For examplewhere two or more vehicles may be directed into queues, such as in atoll plaza having multiple toll gates, or a highway having one or morecarpool lanes. For another example, where a vehicle is directed to anavailable parking space in a parking lot.

What is claimed is:
 1. A method comprising: assigning a first networktoken to a first vehicle entering a multi-vehicle environment includinga first destination and a second destination, the first network tokengranting access to the first destination; assigning a second networktoken to a second vehicle entering the multi-vehicle environment, thesecond network token granting access to the second destination;notifying the first vehicle that the second vehicle is assigned thesecond network token for the second destination; and notifying thesecond vehicle that the first vehicle is assigned the first networktoken for the first destination; wherein: the first network token andthe second network token are transferrable between the first vehicle andthe second vehicle.
 2. The method of claim 1, wherein the first networktoken and the second network token provide access to avehicle-to-vehicle network for the first vehicle and the second vehiclerespectively.
 3. The method of claim 1, further comprising: reassigningthe second network token to the first vehicle and the first networktoken to the second vehicle based at least in part on a communicationover the vehicle-to-vehicle network between the first vehicle and thesecond vehicle; wherein: the first vehicle obtains access to the seconddestination; and the second vehicle obtains access to the firstdestination.
 4. The method of claim 1, further comprising: determining afirst dataset corresponding to the first vehicle; and determining asecond dataset corresponding to the second vehicle; wherein the firstand second datasets include driver information.
 5. The method of claim1, further comprising: determining a first dataset corresponding to thefirst vehicle; and determining a second dataset corresponding to thesecond vehicle; wherein the first and second datasets include vehicleinformation.
 6. The method of claim 1, further comprising: trackingmovement of the first vehicle and the second vehicle.
 7. The method ofclaim 1, wherein the first destination is a toll plaza lanecorresponding to a toll gate.
 8. The method of claim 1, wherein thefirst destination is a parking space in a parking lot.
 9. A computerprogram product comprising a computer readable storage medium havingstored thereon: first program instructions programmed to assign a firstnetwork token to a first vehicle entering a multi-vehicle environmentincluding a first destination and a second destination, the firstnetwork token granting access to the first destination; second programinstructions programmed to assign a second network token to a secondvehicle entering the multi-vehicle environment, the second network tokengranting access to the second destination; third program instructionsprogrammed to notify the first vehicle that the second vehicle isassigned the second network token for the second destination; and fourthprogram instructions programmed to notify the second vehicle that thefirst vehicle is assigned the first network token for the firstdestination; wherein: the first network token and the second networktoken are transferrable between the first vehicle and the secondvehicle.
 10. The computer program product of claim 9, wherein the firstnetwork token and the second network token provide access to avehicle-to-vehicle network for the first vehicle and the second vehiclerespectively.
 11. The computer program product of claim 9, furthercomprising: fifth program instructions programmed to reassign the secondnetwork token to the first vehicle and the first network token to thesecond vehicle based at least in part on a communication over thevehicle-to-vehicle network between the first vehicle and the secondvehicle; wherein: the first vehicle obtains access to the seconddestination; and the second vehicle obtains access to the firstdestination.
 12. The computer program product of claim 9, furthercomprising: fifth program instructions programmed to determine a firstdataset corresponding to the first vehicle; and sixth programinstructions programmed to determine a second dataset corresponding tothe second vehicle; wherein the first and second datasets include driverinformation.
 13. The computer program product of claim 9, furthercomprising: fifth program instructions programmed to determine a firstdataset corresponding to the first vehicle; and sixth programinstructions programmed to determine a second dataset corresponding tothe second vehicle; wherein the first and second datasets includevehicle information.
 14. The computer program product of claim 9,further comprising: fifth program instructions programmed to trackmovement of the first vehicle and the second vehicle.
 15. The computerprogram product of claim 9, wherein the first destination is a tollplaza lane corresponding to a toll gate.
 16. A computer systemcomprising: a processor set; and a computer readable storage medium;wherein: the processor set is structured, located, connected and/orprogrammed to run program instructions stored on the computer readablestorage medium; and the program instructions include: first programinstructions programmed to assign a first network token to a firstvehicle entering a multi-vehicle environment including a firstdestination and a second destination, the first network token grantingaccess to the first destination; second program instructions programmedto assign a second network token to a second vehicle entering themulti-vehicle environment, the second network token granting access tothe second destination; third program instructions programmed to notifythe first vehicle that the second vehicle is assigned the second networktoken for the second destination; and fourth program instructionsprogrammed to notify the second vehicle that the first vehicle isassigned the first network token for the first destination; wherein: thefirst network token and the second network token are transferrablebetween the first vehicle and the second vehicle.
 17. The computersystem of claim 16, wherein the first network token and the secondnetwork token provide access to a vehicle-to-vehicle network for thefirst vehicle and the second vehicle respectively.
 18. The computersystem of claim 16, further comprising: fifth program instructionsprogrammed to reassign the second network token to the first vehicle andthe first network token to the second vehicle based at least in part ona communication over the vehicle-to-vehicle network between the firstvehicle and the second vehicle; wherein: the first vehicle obtainsaccess to the second destination; and the second vehicle obtains accessto the first destination.
 19. The computer system of claim 16, furthercomprising: determining a first dataset corresponding to the firstvehicle; and determining a second dataset corresponding to the secondvehicle; wherein the first and second datasets include driverinformation.
 20. The computer system of claim 16, further comprising:determining a first dataset corresponding to the first vehicle; anddetermining a second dataset corresponding to the second vehicle;wherein the first and second datasets include vehicle information.